package br.edu.unirn.model;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;

import br.edu.unirn.dao.PersistDB;

@Entity
public class Hospede implements PersistDB {

	@Id
	private Long cpf;

	private String nome;

	private int idade;

	@OneToOne(cascade = { CascadeType.ALL })
	private Endereco endereco;

	@OneToMany(cascade = { CascadeType.ALL })
	private List<Telefone> telefones = new ArrayList<Telefone>();

	@OneToMany(cascade = { CascadeType.ALL }, mappedBy = "hospede")
	private List<Reserva> reservas = new ArrayList<Reserva>();

	public Hospede() {
		super();
	}

	public Hospede(Long cpf, String nome, Endereco endereco) {
		super();
		this.cpf = cpf;
		this.nome = nome;
		this.endereco = endereco;
	}

	public Long getCpf() {
		return cpf;
	}

	public void setCpf(Long cpf) {
		this.cpf = cpf;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public int getIdade() {
		return idade;
	}

	public void setIdade(int idade) {
		this.idade = idade;
	}

	public Endereco getEndereco() {
		return endereco;
	}

	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}

	public List<Telefone> getTelefones() {
		return telefones;
	}

	public void setTelefones(List<Telefone> telefones) {
		this.telefones = telefones;
	}

	public List<Reserva> getReservas() {
		return reservas;
	}

	public void setReservar(List<Reserva> reservas) {
		this.reservas = reservas;
	}

	@Override
	public String toString() {
		return nome.toString();
	}

	public Long getId() {
		throw new UnsupportedOperationException("Not supported yet."); // To
																		// change
																		// body
																		// of
																		// generated
																		// methods,
																		// choose
																		// Tools
																		// |
																		// Templates.
	}

	public void setId(Long id) {
		throw new UnsupportedOperationException("Not supported yet."); // To
																		// change
																		// body
																		// of
																		// generated
																		// methods,
																		// choose
																		// Tools
																		// |
																		// Templates.
	}

}